草庐IT

iphone - UITableView 未刷新

全部标签

ios - 在具有部分索引的 UITableView 上使用从右到左的 UIScreenEdgePanGestureRecognizer

我想将UIScreenEdgePanGestureRecognizer添加到UITableView,以便我可以从右侧边缘滑动以转到Controller层次结构中的下一个屏幕。这工作正常,除非TableView在侧面显示了部分索引。在这种情况下,部分索引区域会处理触摸,因此我无法从边缘滑动。我希望能够同时支持边缘平移和部分索引点击以及垂直平移功能。我尝试在UITableView之上添加一个View来处理滑动,但随后它处理了所有触摸并且表格View不再获得任何东西。 最佳答案 好的,所以我尝试了很多东西并提出了一个不理想但可行的解决方案

ios - UITableView 委托(delegate)方法未在 swift 3 中调用

我有一个TableView,它是子类化和扩展的,然后在ViewController中设置。我遇到的问题是委托(delegate)方法ViewForHeaderInSection没有被调用,而正常的数据源方法被调用。(这是TableView的设置方法,在ViewDidLoad中调用。tableview通过IBOutlet连接到ViewController)funcsetup(){self.dataSource=selfasUITableViewDataSourceself.delegate=selfletnib=UINib(nibName:"MyTableViewCell",bundle

ios - 我如何检测 [在 App-delegate 中] 用户将 View 从标准 View 更改为放大 iphone 的显示设置

据我所知,当我们在标准View和缩放View之间切换时,iphone会在后台重新启动。如果是全新安装,我在didFinishLaunchingWithOptions方法中有一些代码用于清除钥匙串(keychain)。现在,每当我切换View[标准到缩放]时,iOs都会将其视为全新安装并清除钥匙串(keychain),从而使我的应用程序崩溃。无论如何在代码中知道View已更改,以便我可以停止应用程序重置钥匙串(keychain)。这是代码片段:funcapplication(_application:UIApplication,didFinishLaunchingWithOptionsl

ios - 更新 CoreData 中的项目不会刷新 tableView

我遇到了一个小问题,并尝试了一切来解决它。我知道问题所在,但我不知道如何解决。我将CoreData与fetchedResultsController一起使用。我的实体称为“名称”,SortDescriptor也用于“名称”。如果我将一个项目保存到CoreData并更改名称值,FetchedResultsController调用.move而不是.update,并且我的TableView中的标签不会更新。重新启动应用程序或更改项目的不同值后,名称也会更新。如果我将多个项目保存到CoreData,则一切正常。如何将SortDescriptor保持在“名称”上,同时更新我的​​tableVie

ios - 在 iPhone X 模拟器的顶部和底部看到黑条

在iPhoneX模拟器(GM种子)中运行我的应用程序我注意到两个奇怪的效果:应用不使用全屏空间(顶部和底部区域为黑色)标题栏下面有一个奇怪的白条有人知道这里发生了什么以及如何解决这个问题吗?我在InterfaceBuilder中找不到任何新设置。 最佳答案 使用启动图像(而不是更简单的启动屏幕文件)时,您需要为您希望支持的每种设备尺寸提供适当大小的启动图像。添加额外的启动图像后,您的应用应利用新的屏幕尺寸。新的iPhoneX需要一张尺寸为1125px×2436px的启动图片,即375pt×812pt的3x图片。当然,如果您切换到使用

ios - UITableView 和分段 Controller 在 IOS 11 的导航栏下移动

UITableView顶部和分段Controller隐藏在导航栏下方,这仅在iOS11中发生。我的Controller的流程是NaviController->TabBarController->ViewControllers我尝试取消选中顶部栏、底部栏、automaticallyAdjustsScrollViewInsets,但它们都不起作用。谁能解释为什么这只发生在iOS11中? 最佳答案 使用这个self.navigationController.navigationBar.translucent=YES;使您的Navigati

ios - 如何检测我的设备是否是 Swift 4 中的 iPhone X?

这个问题在这里已经有了答案:DetectifthedeviceisiPhoneX(38个答案)关闭5年前。我相信有更好、更合适的方法来做到这一点。但现在我正在使用UIScreen.main.bounds来检测我是否正在处理iPhoneX(812高)。顺便说一句,这个特定的应用程序仅限横向。这就是我在这个函数中所拥有的,我正在为幻灯片View制作幻灯片:funcsetupSlideViews(slideView:[SlideView]){letscreenSize=UIScreen.main.boundsvarframe:CGRect!ifscreenSize.width==812{fr

ios - UITableView 项目被突出显示,然后被取消选择 - Swift

我有一个包含3个嵌套UIView的UIView。它们的总宽度是屏幕的300%。(每个100%)。我正在更改AutoLayout优先级,以便通过从NavBar单击按钮将所需的内容显示在屏幕上,将其他内容显示在屏幕外。|uiview1||uiview2||uiview3|uiview3有一个UITableView。它填充,完美滚动,但在点击一个项目时,该项目会突出显示一秒钟然后释放。未调用函数“didSelectRowAt”。我已尝试禁用在此VC上注册的所有其他手势。也检测到点击,但不会持续并立即取消选择。//globallyinVC@IBOutletweakvarsalamsTable:

ios - UITableView:在构建表格后更改一个单元格的高度约束?

我可能想要一件奇怪的事情,但任务是拉伸(stretch)UITableView中的最后一个单元格以填充剩余空间。因此,如果表格只有几个单元格,那么最后一个单元格的高度将与其余单元格匹配,直到屏幕底部。为此,我在最后一个单元格的xib中加入了高度约束。我可以计算适当的高度并设置常量,但之后我做什么并不重要-setNeedsDisplay()、setNeedsLayout()、reloadData()、reloadRowsAtIndexPaths()等-单元格高度未更改。只有当我第二次调用更新代码时,布局才会调整。有什么提示可以立即强制更新单元格吗? 最佳答案

ios - 如何使用动画进行刷新控制?

我想在表格View中使用Lottie动画进行刷新控制,而不是使用事件指示器或标签。刷新控制是否阻止了这种类型的自定义,或者我还需要其他东西吗?(Lottie是一个允许Swift播放Adob​​eAfterEffect动画的库。) 最佳答案 如何在UIRefreshControl中使用Lottie动画:letrefreshControl=UIRefreshControl()letloadingView=LOTAnimationView(name:"")loadingView.play()loadingView.contentMode=